博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkCMF----调用指定栏目的文章列表
阅读量:7116 次
发布时间:2019-06-28

本文共 1795 字,大约阅读时间需要 5 分钟。

做项目的时候,在用ThinkCMF在首页调用指定的栏目文章,但是没有找到好的方法,就自己写了一个。

但是又不想写标签,就在公用方法里面实现了:找到common.php

操作数据库,要用到think的控制器和think的数据库类:

field(array('id','parent_id'))->select(); $category_arr = array(); $cur_category_list = array(); array_push($cur_category_list,intval($id)); foreach($category_list as $v){ $arr = array(); $arr['id'] = $v['id']; $arr['pid'] = $v['parent_id']; array_push($category_arr,$arr); } //得到当前栏目所有的子栏目ids $cur_category_ids = array_merge($cur_category_list,get_all_child($category_arr,$id)); //获取当前所有子栏目的所有文章ids $all_post_ids_arr = array(); $all_post_ids = Db::name('portal_category_post')->where('category_id','in',$cur_category_ids)->field(array('post_id'))->select(); foreach($all_post_ids as $v){ array_push($all_post_ids_arr,$v['post_id']); } // 获取当前栏目及子栏目所有的文章列表 $where = array(); $where['id'] = array('in',$all_post_ids_arr); $where['post_type'] = 1; $where['post_status'] = 1; $pagelist_arr = Db::name('portal_post')->where($where)->paginate($limit); $page = $pagelist_arr->render(); // 处理跳转链接 和 栏目的图片 $pagelist = array(); foreach($pagelist_arr as $k => $v){ $v['thumb'] = '/upload/'.json_decode($v['more'],true)['thumbnail']; $v['category_id'] = get_category_id($v['id']); array_push($pagelist,$v); } return $pagelist;}function get_category_id($id){ $categoryinfo = Db::name('portal_category_post')->where('post_id','eq',$id)->field('category_id')->find(); return $categoryinfo['category_id'];}

怎么调用?

即可

 

转载于:https://www.cnblogs.com/e0yu/p/9540967.html

你可能感兴趣的文章
centos 较准时间
查看>>
Linux小白的大师之路
查看>>
小米9售价揭晓!可能是最后一次了
查看>>
py2exe的安装
查看>>
vrrp
查看>>
Gson入门
查看>>
shell 命令记录
查看>>
使用OpenSessionInViewFilter解决session关闭问题
查看>>
lvs基本使用
查看>>
我的友情链接
查看>>
Liferay 用本地私服(nexus) 打包部署Portlet应用
查看>>
敏捷软件开发实践-Code Review Process
查看>>
liunx环境下的oracle安装
查看>>
手把手教你使用Newstart HA
查看>>
JAVA多线程问题【2】 synchronized锁机制
查看>>
redis 安装配置
查看>>
案例2
查看>>
手动挂载分区
查看>>
键盘通知
查看>>
构建自己的词典库
查看>>